export default {
	//为当前模块开启命名空间
	namespaced:true,
	//通过state方法返回一个数据节点
	state:()=> ({
		//购物车的数组，用来存储商品的信息对象
		address:JSON.parse(uni.getStorageSync('address') || '[]') ,
		//用户登录的token
		token: uni.getStorageSync('token') || '' ,
		//用户登录的信息
		userinfo:JSON.parse(uni.getStorageSync('userinfo') || '{}') ,
		//重定向的对象
		redirectInfo:null
	}),
	
	//state中的数据只能用mutations方法修改
	mutations:{
		//将新地址存储到老地址中
		addToaddress(state,addr){
			state.address = addr
			console.log(state.address)
			this.commit('m_address/saveToStorage')
		},
		//将数据缓存到浏览器中
		saveToStorage(state){
			uni.setStorageSync('address',JSON.stringify(state.address))
		},
		saveUserInfoToStorage(state){
			uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
		},
		saveTokenStorage(state){
			uni.setStorageSync('token',state.token)
		},
		//更新用户的登录信息
		updateUserInfo(state,userinfo){
			state.userinfo = userinfo
			this.commit('m_address/saveUserInfoToStorage')
		},
		//更新用户的token信息
		updateToken(state, token){
			state.token = token
			this.commit('m_address/saveTokenStorage')
		},
		//重定向的页面更新
		updateRedirectInfo(state,info){
			state.redirectInfo = info
			console.log(state.redirectInfo)
		}
		
		// //删除商品，从cart数组中
		// removeGoods(state,goods){
		// 	//通过过滤的方法filter，将ID不同的商品存储到新数组中
		// 	state.cart = state.cart.filter(x => x.goods_id !== goods.goods_id)
		// 	this.commit('m_cart/saveToStorage')
		// }
	},
	//相当于vuex中的计算属性
	getters:{
		addstr(state){
			if(state.address.provinceName){
				return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
			}
		}
	}
}